home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / finger.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  84 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6. # Pluto 26.6.00: rcvd_line -> rcvd
  7. #
  8. #T
  9.  
  10. if(description)
  11. {
  12.  script_id(10068);
  13.  script_version ("$Revision: 1.24 $");
  14.  script_cve_id("CVE-1999-0612");
  15.  name["english"] = "Finger";
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. The remote host is running the 'finger' service.
  20.  
  21. The purpose of this service is to show who is currently logged
  22. into the remote system, and to give information about the users
  23. of the remote system. 
  24.  
  25. It provides useful information to attackers, since it allows them 
  26. to gain usernames, determine how used a machine is, and see when
  27. each user logged in for the last time. 
  28.  
  29.  
  30. Solution :  
  31.  Comment out the 'finger' line in /etc/inetd.conf and restart
  32.  the inetd process
  33.  
  34. Risk factor : Low";
  35.  
  36. script_description(english:desc["english"]);
  37.  
  38.  summary["english"] = "Checks for finger";
  39.  
  40. script_summary(english:summary["english"]);
  41.  
  42.  script_category(ACT_GATHER_INFO);
  43.  
  44.  
  45.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison");
  46.  family["english"] = "Useless services";
  47.  script_family(english:family["english"]);
  48.  script_dependencie("find_service.nes");
  49.  script_require_ports("Services/finger", 79);
  50.  exit(0);
  51. }
  52.  
  53. #
  54. # The script code starts here
  55. #
  56.  
  57. port = get_kb_item("Services/finger");
  58. if(!port)port = 79;
  59. if(get_port_state(port))
  60. {
  61.  soc = open_sock_tcp(port);
  62.  if(soc)
  63.  {
  64.   buf = string("root\r\n");
  65.   send(socket:soc, data:buf);
  66.   data = recv(socket:soc, length:65535);
  67.   if(egrep(pattern:".*User|[lL]ogin|logged.*", string:data))
  68.   {
  69.  report = "
  70. The 'finger' service provides useful information to attackers, since it allows 
  71. them to gain usernames, check if a machine is being used, and so on... 
  72.  
  73. Here is the output we obtained for 'root' : " + string("\n\n", data, "\n\n") + 
  74.  
  75. "Solution : comment out the 'finger' line in /etc/inetd.conf
  76. Risk factor : Low";
  77.  
  78.       security_warning(port:port, data:report);
  79.     set_kb_item(name:"finger/active", value:TRUE);
  80.     }
  81.   close(soc);
  82.  }
  83. }
  84.